
import { CompressMgr } from "./lib/compressMgr";
import { KeeperService } from "./lib/Keeper";
/**
* @param keys 压缩使用的 apikeys
* @param type 图片存储模式
* @param args mongo 的时候输入 mongoIp: string, mongoPort: string, mongoDb: string
*             sqlite 的时候输入 sqlitedbpath:string
*/
export function init(ApiKeys: string[], type: 'mongo' | 'sqlite', ...args: string[]) {
    return KeeperService.init(ApiKeys, type, ...args)
}

/**
 * 图片压缩方法
 * @param picSrc 图片源地址
 * @param picDst 图片目的地址 
 * @param cb 压缩完成后的回调，如果没有则关闭进程
 * @param mongoIp 数据库ip
 * @param mongoDb 数据库表格名字
 * @param mongoPort 数据库端口
 */
export function doTinyCompress(picSrc: string, picDst: string) {
    return new Promise(function (resolve, reject) {
        if (!KeeperService.binit) reject('call init first');
        else {
            let compressInst = new CompressMgr();
            compressInst.compressStart(picSrc, picDst);
            compressInst.compressTinyStart();

            compressInst.on('complete', function () {
                resolve(true);
            });
        }
    })

}


